$(function() {

	var oTable = new TableInit();
	oTable.Init();

	 $("#btn_query").click(function () {
	        $('#tb_indicators').bootstrapTable('getOptions').pageNumber = 1;
	        $('#tb_indicators').bootstrapTable('refresh');
	 });
});

var TableInit = function() {
	var oTableInit = new Object();

	oTableInit.Init = function() {

		$("#tb_indicators").bootstrapTable({
			url : '/zhgl-jzstyxx-manage/warningIndicators/getWarningIndicators',// 请求后台参数
			method : 'post', // 请求方式（*）
			toolbar : '#toolbar', // 工具按钮用哪个容器
			dataType : 'json',
			striped : true, // 是否显示行间隔色
			cache : false, // 是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
			pagination : true, // 是否显示分页（*）
			singleSelect : false, // 单选CheckBox
			sortable : true, // 是否启用排序
			sortOrder : "asc", // 排序方式
			queryParams : oTableInit.queryParams,// 传递参数（*）
			sidePagination : "server", // 分页方式：client客户端分页，server服务端分页（*）
			pageNumber : 1, // 初始化加载第一页，默认第一页
			pageSize : 10, // 每页的记录行数（*）
			pageList : [ 10, 20, 30 ], // 可供选择的每页的行数（*）
			strictSearch : true,
			clickToSelect : true, // 是否启用点击选中行
			// height: 550, //行高，如果没有设置height属性，表格自动根据记录条数决定表格高度
			uniqueId : "id", // 每一行的唯一标识，一般为主键列
			cardView : false, // 是否显示详细视图
			rowStyle : function rowStyle(row, index) {
				return {
					css : {
						"font-size" : "14px",
						"height" : "15px",
						"line-height" : 1
					}
				};
			},
			detailView : false, // 是否显示父子表
			columns : [ {
				checkbox : true,
				width:'2%'
			}, {
				field : 'id',
				title : '序号',
				align : 'center',
				width:'2%',
				formatter : function(value, row, index) {
					var pageSize=$('#tb_indicators').bootstrapTable('getOptions').pageSize;//通过表的#id可以得到每页多少条
        			var pageNumber=$('#tb_indicators').bootstrapTable('getOptions').pageNumber;//通过表的#id可以得到当前第几页
					return pageSize*(pageNumber-1)+index+1;
				}
			},  {
				field : 'dictName',
				title : '模板名称',
				align : 'center',
				width : '40%'
			}
			]
		});
	};
	//得到查询的参数
    oTableInit.queryParams = function (params) {
        temp = {   
            limit: params.limit,   
            offset: params.offset,  
            dictName: $("#indicators").val(),
        };
        return temp;
    };

    return oTableInit;
}

//新增
function Add(){
	$("#myModalLabel").text("新增")
	$("#cId").val("");
	$("#indicators1").val("");
	validform().resetForm();
	$(".error").removeClass("error");
	$("#addOrEditModal").modal('show');
}
//修改页面
function editById(){
	$("#myModalLabel").text("修改")
	$("#indicators1").val("");
	validform().resetForm();
	$(".error").removeClass("error");
	var url = "/zhgl-jzstyxx-manage/warningIndicators/getById";
	var arr = $('#tb_indicators').bootstrapTable('getSelections');
	if(arr.length==0){
		window.wxc.xcConfirm("请选择需要操作的数据！", window.wxc.xcConfirm.typeEnum.confirm,{
			title: "提示",
			btn: parseInt("0001",2), //确定按钮
		})
	}else if(arr.length>1){
		window.wxc.xcConfirm("只能选择单条数据进行操作！", window.wxc.xcConfirm.typeEnum.confirm,{
			title: "提示",
			btn: parseInt("0001",2), //确定按钮
		});
	}else{
		$("#addOrEditModal").modal('show');
		$.post(url,{"id":arr[0].id},function(sysDict){
			$("#cId").val(sysDict.id);
			$("#indicators1").val(sysDict.dictName)
		})
		
	}
}

//保存
function saveAddOrEdit(){
	if (validform().form()) {
	var cId = $("#cId").val();
	var dictName= $("#indicators1").val().trim();
	var datapost = {
		"id":cId,
		"dictName":dictName
	}
		var url;
		if(cId!=""){
			url ="/zhgl-jzstyxx-manage/warningIndicators/changeIndicators";
		}else{
			url="/zhgl-jzstyxx-manage/warningIndicators/addIndicators"
		}
		$.ajax({
			url:url,
			data:datapost,
			type:"POST",
			dataType:"json",
			success:function(result){
				if(result.state==200){
					window.wxc.xcConfirm(result.message, window.wxc.xcConfirm.typeEnum.confirm,{
						title: "提示",
						btn: parseInt("0001",2), //确定按钮
					});
				}else if(result.state==400){
					window.wxc.xcConfirm(result.message, window.wxc.xcConfirm.typeEnum.confirm,{
						title: "提示",
						btn: parseInt("0001",2),
					});
				}
				$('#tb_indicators').bootstrapTable('refresh');
				$("#addOrEditModal").modal('hide');
			}
		})
	}
}
//删除
function deleteByIds(){
	 var arr = $('#tb_indicators').bootstrapTable('getSelections');
	 var dataNum = arr.length;
	 if (arr.length == 0) {
		 window.wxc.xcConfirm("请选择你要删除的数据！", window.wxc.xcConfirm.typeEnum.confirm,{
				title: "提示",
				btn: parseInt("0001",2), //确定按钮
			});
	 } else {
		 var ids = "";
		    for(var a = 0; a<arr.length; a++) {
		    	ids+=arr[a].id+",";
		    	}
		    ids=ids.substring(0,ids.length-1);
	 var url = '/zhgl-jzstyxx-manage/warningIndicators/deleteByIds';
	 window.wxc.xcConfirm("确认删除吗？", window.wxc.xcConfirm.typeEnum.confirm,{
			title: "提示",
			onOk:  function(){
					$.ajax({
                		type: 'POST',
                		url: url,
                		dataType: "json",
                		data:{'ids':ids},
                		success: function (result) {
                			if(result.state==400){
                				window.wxc.xcConfirm(result.message, window.wxc.xcConfirm.typeEnum.confirm,{
                					title: "提示",
                					btn: parseInt("0001",2), //确定按钮
                				});
                			}else if(result.state==200){
                				window.wxc.xcConfirm(result.message, window.wxc.xcConfirm.typeEnum.confirm,{
                					title: "提示",
                					btn: parseInt("0001",2), //确定按钮
                				});
                					$('#tb_indicators').bootstrapTable('refresh');
                			}
                }
            })	
		}
	 })
	}
}
//校验
function validform() {
    return $("#addOrEdit").validate({
        rules: {
        	indicators1:{
                required:true,
                maxlength:16,
                stringCheck:true,
                remote:{
                  	   url:"/zhgl-jzstyxx-manage/warningIndicators/checkIndicators",
                       type:"post",
                       dataType:"json",
                       async:false,
                       cache:false,
                       data:{
                    	   templatename:function(){
                      		 var formData = $('#addOrEdit').serializeJSON();
                      		 return formData.indicators1
                      	 	},
                      	 	id:function(){
                         		 var formData = $('#addOrEdit').serializeJSON();
                          		 return formData.id;
                          	 	}
                       	},
              		dataFilter:function(data){
              				return data;
              		}
                }   
           },
        },
		     messages: {
		    	 indicators1:{
		             required:"预警指标不能为空",
		             maxlength:"最多输入16位",
		             stringCheck:jQuery.validator.addMethod("stringCheck", function(value, element) {
		            	 var all= /^[a-zA-Z0-9\u4e00-\u9fa5]+$/;
		                 return this.optional(element) || all.test(value);       
		             }, "预警指标不能有特殊字符"),
		             remote:"预警指标已存在",
		        }
		     }
    	})
	}


